
/**
 * AppleIIGo
 * Interrupt class
 * (C) 2008 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#include "Motherboard.h"

#ifndef INTERRUPT_H
#define INTERRUPT_H

class Interrupt : public Device {
public:
	Interrupt(class Motherboard * motherboard, char * deviceName);
	
	void onDevicesConnected();
	
	void enable(bool value);
	void assert();
	void clear();
	bool isEnabled();
	bool isAsserted();
	
private:
	class CPU * cpu;
	
	bool isEnabledValue;
	bool isAssertedValue;
};

#endif
